<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<link rel="STYLESHEET" href="lib.css" type='text/css' />
<link rel="SHORTCUT ICON" href="../icons/pyfav.png" type="image/png" />
<link rel='start' href='../index.html' title='Python documentation Index' />
<link rel="first" href="lib.html" title='Python library Reference' />
<link rel='contents' href='contents.html' title="Contents" />
<link rel='index' href='genindex.html' title='Index' />
<link rel='last' href='about.html' title='About this document...' />
<link rel='help' href='about.html' title='About this document...' />
<link rel="next" href="inspect-classes-functions.html" />
<link rel="prev" href="inspect-types.html" />
<link rel="parent" href="module-inspect.html" />
<link rel="next" href="inspect-classes-functions.html" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name='aesop' content='information' />
<title>26.10.2 Retrieving source code </title>
</head>
<body>
<div class="navigation">
<div id='top-navigation-panel' xml:id='top-navigation-panel'>
<table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr>
<td class='online-navigation'><a rel="prev" title="26.10.1 types and members"
  href="inspect-types.html"><img src='../icons/previous.png'
  border='0' height='32'  alt='Previous Page' width='32' /></a></td>
<td class='online-navigation'><a rel="parent" title="26.10 inspect  "
  href="module-inspect.html"><img src='../icons/up.png'
  border='0' height='32'  alt='Up one Level' width='32' /></a></td>
<td class='online-navigation'><a rel="next" title="26.10.3 classes and functions"
  href="inspect-classes-functions.html"><img src='../icons/next.png'
  border='0' height='32'  alt='Next Page' width='32' /></a></td>
<td align="center" width="100%">Python Library Reference</td>
<td class='online-navigation'><a rel="contents" title="Table of Contents"
  href="contents.html"><img src='../icons/contents.png'
  border='0' height='32'  alt='Contents' width='32' /></a></td>
<td class='online-navigation'><a href="modindex.html" title="Module Index"><img src='../icons/modules.png'
  border='0' height='32'  alt='Module Index' width='32' /></a></td>
<td class='online-navigation'><a rel="index" title="Index"
  href="genindex.html"><img src='../icons/index.png'
  border='0' height='32'  alt='Index' width='32' /></a></td>
</tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" href="inspect-types.html">26.10.1 Types and members</a>
<b class="navlabel">Up:</b>
<a class="sectref" rel="parent" href="module-inspect.html">26.10 inspect  </a>
<b class="navlabel">Next:</b>
<a class="sectref" rel="next" href="inspect-classes-functions.html">26.10.3 Classes and functions</a>
</div>
<hr /></div>
</div>
<!--End of Navigation Panel-->

<h2><a name="SECTION00281020000000000000000"></a><a name="inspect-source"></a>
<br>
26.10.2 Retrieving source code
            
</h2>

<p>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
  <td><nobr><b><tt id='l2h-5274' xml:id='l2h-5274' class="function">getdoc</tt></b>(</nobr></td>
  <td><var>object</var>)</td></tr></table></dt>
<dd>
  Get the documentation string for an object.
  All tabs are expanded to spaces.  To clean up docstrings that are
  indented to line up with blocks of code, any whitespace than can be
  uniformly removed from the second line onwards is removed.
</dl>

<p>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
  <td><nobr><b><tt id='l2h-5275' xml:id='l2h-5275' class="function">getcomments</tt></b>(</nobr></td>
  <td><var>object</var>)</td></tr></table></dt>
<dd>
  Return in a single string any lines of comments immediately preceding
  the object's source code (for a class, function, or method), or at the
  top of the Python source file (if the object is a module).
</dl>

<p>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
  <td><nobr><b><tt id='l2h-5276' xml:id='l2h-5276' class="function">getfile</tt></b>(</nobr></td>
  <td><var>object</var>)</td></tr></table></dt>
<dd>
  Return the name of the (text or binary) file in which an object was
  defined.  This will fail with a <tt class="exception">TypeError</tt> if the object
  is a built-in module, class, or function.
</dl>

<p>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
  <td><nobr><b><tt id='l2h-5277' xml:id='l2h-5277' class="function">getmodule</tt></b>(</nobr></td>
  <td><var>object</var>)</td></tr></table></dt>
<dd>
  Try to guess which module an object was defined in.
</dl>

<p>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
  <td><nobr><b><tt id='l2h-5278' xml:id='l2h-5278' class="function">getsourcefile</tt></b>(</nobr></td>
  <td><var>object</var>)</td></tr></table></dt>
<dd>
  Return the name of the Python source file in which an object was
  defined.  This will fail with a <tt class="exception">TypeError</tt> if the object
  is a built-in module, class, or function.
</dl>

<p>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
  <td><nobr><b><tt id='l2h-5279' xml:id='l2h-5279' class="function">getsourcelines</tt></b>(</nobr></td>
  <td><var>object</var>)</td></tr></table></dt>
<dd>
  Return a list of source lines and starting line number for an object.
  The argument may be a module, class, method, function, traceback, frame,
  or code object.  The source code is returned as a list of the lines
  corresponding to the object and the line number indicates where in the
  original source file the first line of code was found.  An
  <tt class="exception">IOError</tt> is raised if the source code cannot be retrieved.
</dl>

<p>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
  <td><nobr><b><tt id='l2h-5280' xml:id='l2h-5280' class="function">getsource</tt></b>(</nobr></td>
  <td><var>object</var>)</td></tr></table></dt>
<dd>
  Return the text of the source code for an object.
  The argument may be a module, class, method, function, traceback, frame,
  or code object.  The source code is returned as a single string.  An
  <tt class="exception">IOError</tt> is raised if the source code cannot be retrieved.
</dl>

<p>

<div class="navigation">
<div class='online-navigation'>
<p></p><hr />
<table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr>
<td class='online-navigation'><a rel="prev" title="26.10.1 types and members"
  href="inspect-types.html"><img src='../icons/previous.png'
  border='0' height='32'  alt='Previous Page' width='32' /></a></td>
<td class='online-navigation'><a rel="parent" title="26.10 inspect  "
  href="module-inspect.html"><img src='../icons/up.png'
  border='0' height='32'  alt='Up one Level' width='32' /></a></td>
<td class='online-navigation'><a rel="next" title="26.10.3 classes and functions"
  href="inspect-classes-functions.html"><img src='../icons/next.png'
  border='0' height='32'  alt='Next Page' width='32' /></a></td>
<td align="center" width="100%">Python Library Reference</td>
<td class='online-navigation'><a rel="contents" title="Table of Contents"
  href="contents.html"><img src='../icons/contents.png'
  border='0' height='32'  alt='Contents' width='32' /></a></td>
<td class='online-navigation'><a href="modindex.html" title="Module Index"><img src='../icons/modules.png'
  border='0' height='32'  alt='Module Index' width='32' /></a></td>
<td class='online-navigation'><a rel="index" title="Index"
  href="genindex.html"><img src='../icons/index.png'
  border='0' height='32'  alt='Index' width='32' /></a></td>
</tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" href="inspect-types.html">26.10.1 Types and members</a>
<b class="navlabel">Up:</b>
<a class="sectref" rel="parent" href="module-inspect.html">26.10 inspect  </a>
<b class="navlabel">Next:</b>
<a class="sectref" rel="next" href="inspect-classes-functions.html">26.10.3 Classes and functions</a>
</div>
</div>
<hr />
<span class="release-info">Release 2.5.1, documentation updated on 18th April, 2007.</span>
</div>
<!--End of Navigation Panel-->
<address>
See <i><a href="about.html">About this document...</a></i> for information on suggesting changes.
</address>
</body>
</html>
